package org.example;

public class Cat extends Animal{
    public Cat() {
        super();
    }
    public Cat(String name) {
        super(name);
    }

    @Override
    protected String getShoutSound() {
        return "喵";
    }
}

// 之前的写法
/*
public class Cat {
    // 声明Cat的私有字符串变量name
    private String name = "";
    // 声明一个内部字段，注意是private，默认叫的次数为3
    private int shoutNum = 3;
    // 表示外界可以给内部的shoutNum赋值
    public void setShoutNum(int value) {
        // 控制叫声次数，最多只能叫10声
        if(value <= 10) {
            this.shoutNum = value;
        } else {
            this.shoutNum = 10;
        }
    }
    // 表示外界调用时可以得到shoutNum的值
    public int getShoutNum() {
        return this.shoutNum;
    }
    // 定义Cat类的构造方法，参数是输入一个字符串
    public Cat(String name) {
        // 将参数赋值给私有变量name
        this.name = name;
    }
    // 将构造方法重载
    public Cat() {
        this.name = "无名";
    }
    public String shout() {
        String result = "";
        // 用一个循环让小猫叫相应的次数
        for(int i = 0;i<this.shoutNum;i++) {
            result+="喵";
        }
        return "我的名字叫" + name + result;
    }
}
*/